#include <ncurses.h>
class point
{
protected:
  int x,y;
public:
  point(int i1, int i2);
};
class window
{
protected:
int n,m;
public:
void current(point p=point(0,0));
window(int h, int w);
};
class shape
{
protected:
  point e,w,n,s,ne,nw,se,sw;
public:
  void current(point p=point(0,0));
  virtual void draw(){
  current(se);
  //...
  }
};
class dot:public shape{
  protected:
    int x,y;
  public:
    dot(point p);
    void draw()
    {
    //draw
    }
};
class line:public shape{
  protected:
    point p1,p2;
  public:
    line(point po1, point po2);
    void draw()
    {
    //draw
    }
};
class circle:public shape{
protected:
  int r;
public:
  circle(point p, int rad);
  void draw()
  {
    //draw
  }
};
class rectangle{
protected:
    point p1,p2;
public:
    rectangle(point po1, point po2);
    void draw()
    {
    //draw
    }
